ASP.NET Core-এ Entity Framework Core (EF Core) ব্যবহার করে ডেটাবেস মডেল ম্যানেজ করার জন্য মাইগ্রেশন (Migration) একটি গুরুত্বপূর্ণ টুল। এটি ডেটাবেস স্কিমা এবং অ্যাপ্লিকেশনের মডেল ক্লাসের মধ্যে সামঞ্জস্য রাখতে সাহায্য করে। কখনো কখনো মাইগ্রেশন আপডেট করতে হয়, আবার প্রয়োজনে রোলব্যাক (Rollback) করাও দরকার হতে পারে।
মাইগ্রেশন আপডেট করা
মাইগ্রেশন আপডেট করার মাধ্যমে অ্যাপ্লিকেশনের মডেল ক্লাসে করা পরিবর্তনগুলো ডেটাবেসে প্রয়োগ করা হয়।
নতুন মাইগ্রেশন তৈরি করা
যদি মডেল ক্লাসে পরিবর্তন করা হয়, তবে প্রথমে একটি নতুন মাইগ্রেশন তৈরি করতে হবে।
dotnet ef migrations add MigrationName
উদাহরণ:
dotnet ef migrations add AddNewColumn
এই কমান্ডটি Migrations ফোল্ডারে একটি নতুন মাইগ্রেশন ফাইল তৈরি করবে, যেখানে ডেটাবেস স্কিমায় প্রয়োজনীয় পরিবর্তনের বিবরণ থাকবে।
ডেটাবেস আপডেট করা
নতুন মাইগ্রেশনটি ডেটাবেসে প্রয়োগ করার জন্য update কমান্ডটি ব্যবহার করতে হবে।
dotnet ef database update
উদাহরণ:
মডেল ক্লাসে একটি নতুন কলাম যোগ করার পর এটি ডেটাবেসে প্রয়োগ করতে উপরের কমান্ডটি ব্যবহার করা হবে।
মাইগ্রেশন রোলব্যাক করা
কোনো কারণে যদি মাইগ্রেশনে করা পরিবর্তন বাতিল করতে হয়, তবে রোলব্যাক করতে হবে।
পূর্ববর্তী মাইগ্রেশনে রোলব্যাক করা
ডেটাবেসকে একটি নির্দিষ্ট মাইগ্রেশন পর্যন্ত রোলব্যাক করার জন্য update কমান্ডে মাইগ্রেশনের নাম উল্লেখ করতে হবে।
dotnet ef database update MigrationName
উদাহরণ:InitialCreate নামক মাইগ্রেশনে ফিরে যেতে হলে:
dotnet ef database update InitialCreate
সর্বশেষ মাইগ্রেশনটি রোলব্যাক করা
শেষ মাইগ্রেশনের পরিবর্তন বাতিল করতে মাইগ্রেশন ফাইলটি মুছে দিন এবং তারপর ডেটাবেসকে পূর্ববর্তী অবস্থায় আপডেট করুন।
dotnet ef database update PreviousMigrationName
উদাহরণ:
শেষ মাইগ্রেশনটি যদি AddNewColumn হয়, তবে এটি বাতিল করতে:
dotnet ef database update InitialCreate
ডেটাবেস পুরোপুরি রিসেট করা
যদি ডেটাবেস সম্পূর্ণ রিসেট করতে হয়, তবে নিচের ধাপগুলো অনুসরণ করুন:
ডেটাবেস মুছে ফেলুন:
dotnet ef database dropমাইগ্রেশন পুনরায় প্রয়োগ করুন:
dotnet ef database update
মাইগ্রেশন হ্যান্ডলিং-এর কিছু গুরুত্বপূর্ণ বিষয়
- মাইগ্রেশনের ক্রমানুসার বজায় রাখা:
মাইগ্রেশন তৈরি এবং আপডেটের সময় ক্রমানুসারে কাজ করুন। এলোমেলো মাইগ্রেশন ব্যবহার করলে স্কিমার সাথে সমস্যা হতে পারে। - ব্যাকআপ রাখা:
ডেটাবেসে বড় পরিবর্তন আনার আগে ব্যাকআপ রাখা জরুরি, বিশেষত প্রোডাকশন পরিবেশে। - মাইগ্রেশনের লজিক চেক করা:
মাইগ্রেশন ফাইলেরUpএবংDownমেথডগুলো ভালোভাবে চেক করুন। নিশ্চিত করুন যেDownমেথডে সব পরিবর্তন সঠিকভাবে রোলব্যাক হচ্ছে।
সারাংশ
মাইগ্রেশন আপডেট এবং রোলব্যাক করার প্রক্রিয়া ডেটাবেস স্কিমা এবং মডেলের মধ্যে সঠিক সামঞ্জস্য নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। মাইগ্রেশন সঠিকভাবে ব্যবহারের মাধ্যমে আপনি ডেটাবেস পরিবর্তন সহজে পরিচালনা করতে পারবেন এবং প্রোডাকশনে ত্রুটির ঝুঁকি কমাতে পারবেন।